﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StableDiffusionTools.Utils
{
    public static class InternetUtil
    {
        public static string FormatBytesPerSec(float bytes)
        {
            if (float.IsInfinity(bytes) || float.IsNaN(bytes))
                return "";

            return string.Format("{0}/s", FormatBytes(bytes));
        }

        private static string FormatBytes(float bytes)
        {
            if (float.IsInfinity(bytes) || float.IsNaN(bytes))
                return "";

            if (bytes < 1000) //b
                return string.Format("{0:0.0}b", bytes);
            else if (bytes < 1000000) //kB
                return string.Format("{0:0.0}kB", bytes / 1000);
            else if (bytes < 1000000000) //MB
                return string.Format("{0:0.0}MB", bytes / 1000000);
            else //GB
                return string.Format("{0:0.0}GB", bytes / 1000000000);
        }
    }
}
